﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Graph2
{
	public abstract class Function
	{
		public class ParseException : Exception	
		{
			private String m_Message;
			private String m_Position;

			public String Position
			{
				get
				{
					return m_Position;
				}
			}

			public override String Message
			{
				get
				{
					return m_Message;
				}
			}

			public ParseException(String errorMessage, String pos)
			{
				m_Message = errorMessage;
				m_Position = pos;
			}
		}

		protected Function()
		{
			m_Enabled = true;
		}

		private bool m_Enabled;
		private Color m_Color;

		public bool Enabled
		{
			get
			{
				return m_Enabled;
			}
			set
			{
				m_Enabled = value;
			}
		}

		public Color Color
		{
			get
			{
				return m_Color;
			}
			set
			{
				m_Color = value;
			}
		}

		abstract public String Name
		{
			get;
		}
	}
}
